package com.pai4j.domain.vo.response.mess;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 推荐卡片VO - 用于聊天消息的messageExt字段
 * 支持推荐好友和推荐群聊两种场景
 * 
 * 使用场景：
 * 1. 用户在聊天界面发送推荐卡片消息
 * 2. type设置为RECOMMEND_USER_CARD(16)或RECOMMEND_GROUP_CARD(17)
 * 3. messageExt字段设置为本VO对象
 * 
 * @author PAI4J
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RecommendCardVO {
    
    /**
     * 推荐类型：user-推荐好友，group-推荐群聊
     */
    private String recommendType;
    
    /**
     * 推荐目标账号（用户账号或群账号）
     */
    private String targetAccount;
    
    /**
     * 推荐目标名称（用户昵称或群名）
     */
    private String targetName;
    
    /**
     * 推荐目标头像URL
     */
    private String targetAvatar;
    
    /**
     * 推荐目标π号（用户的paiId或群的paiId）
     */
    private String targetPaiId;
    
    /**
     * 推荐目标个签/简介
     * - 推荐好友：用户个签
     * - 推荐群聊：群简介
     */
    private String targetSignature;
    
    /**
     * 推荐理由/描述
     * - 推荐好友：推荐理由、职位等
     * - 推荐群聊：推荐理由、群公告等
     */
    private String description;
    
    /**
     * 推荐人账号（userId）
     * 记录是谁推荐的，前端点击推荐卡片时需要传递此参数
     */
    private String recommenderAccount;
    
    /**
     * 扩展信息（群成员数量、用户标签等）
     */
    private String extInfo;
}
